#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <queue>
#include <stack>
#include <vector>

using namespace std;

struct ListNode {
    int val;
    ListNode* next;
    ListNode(int x) : val(x), next(NULL) {}
};

class Node {
   public:
    int val;
    Node* next;
    Node* random;

    Node(int _val) {
        val = _val;
        next = NULL;
        random = NULL;
    }
};

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

class Solution {
   public:
    int add(int sum1, int sum2) {
        while (sum2 != 0) {
            int c = (unsigned)(sum1 & sum2) << 1;
            sum1 ^= sum2;
            sum2 = c;
        }
        return sum1;
    }
};

int main() {
    cout << "Hello, World!";
    Solution().add(15, 7);
    return 0;
}
